package cn.exrick.xboot.modules.workovertime.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author hml
 * @since 2023-08-31
 */
public class HkOvertimeDetail extends Model<HkOvertimeDetail> {

    private static final long serialVersionUID = 1L;

    private String id;
    private String createBy;
    /**
     * 加班发起时间
     */
    private LocalDateTime createTime;
    private String updateBy;
    private LocalDateTime updateTime;
    /**
     * 当前审批状态0待1同意2拒绝
     */
    private String assessmentStatus;
    /**
     * 开始时间
     */
    private LocalDateTime overStartTime;
    /**
     * 结束时间
     */
    private LocalDateTime overEndTime;
    /**
     * 总时长
     */
    private Float totalHours;
    /**
     * 加班原因/调休原因
     */
    private String cause;
    /**
     * 发起人id
     */
    private String approvalUserId;
    /**
     * 发起人姓名
     */
    private String approvalName;
    /**
     * 1、加班2、调休
     */
    private Integer flowType;
    /**
     * 流程实例id
     */
    private String processInstanceId;
    /**
     * 审批建议
     */
    private String indexComment;

    /**
     * 当前的考核
     */
    private String isCurrentAssessment;

    public Integer getFlowType() {
        return flowType;
    }

    public void setFlowType(Integer flowType) {
        this.flowType = flowType;
    }

    public String getIsCurrentAssessment() {
        return isCurrentAssessment;
    }

    public void setIsCurrentAssessment(String isCurrentAssessment) {
        this.isCurrentAssessment = isCurrentAssessment;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getAssessmentStatus() {
        return assessmentStatus;
    }

    public void setAssessmentStatus(String assessmentStatus) {
        this.assessmentStatus = assessmentStatus;
    }

    public LocalDateTime getOverStartTime() {
        return overStartTime;
    }

    public void setOverStartTime(LocalDateTime overStartTime) {
        this.overStartTime = overStartTime;
    }

    public LocalDateTime getOverEndTime() {
        return overEndTime;
    }

    public void setOverEndTime(LocalDateTime overEndTime) {
        this.overEndTime = overEndTime;
    }

    public Float getTotalHours() {
        return totalHours;
    }

    public void setTotalHours(Float totalHours) {
        this.totalHours = totalHours;
    }

    public String getCause() {
        return cause;
    }

    public void setCause(String cause) {
        this.cause = cause;
    }

    public String getApprovalUserId() {
        return approvalUserId;
    }

    public void setApprovalUserId(String approvalUserId) {
        this.approvalUserId = approvalUserId;
    }

    public String getApprovalName() {
        return approvalName;
    }

    public void setApprovalName(String approvalName) {
        this.approvalName = approvalName;
    }

    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    public String getIndexComment() {
        return indexComment;
    }

    public void setIndexComment(String indexComment) {
        this.indexComment = indexComment;
    }

    public static final String ID = "id";

    public static final String CREATE_BY = "create_by";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_BY = "update_by";

    public static final String UPDATE_TIME = "update_time";

    public static final String ASSESSMENT_STATUS = "assessment_status";

    public static final String OVER_START_TIME = "over_start_time";

    public static final String OVER_END_TIME = "over_end_time";

    public static final String TOTAL_HOURS = "total_hours";

    public static final String CAUSE = "cause";

    public static final String APPROVAL_USER_ID = "approval_user_id";

    public static final String APPROVAL_NAME = "approval_name";

    public static final String TIME_TYPE = "time_type";

    public static final String PROCESS_INSTANCE_ID = "process_instance_id";

    public static final String INDEX_COMMENT = "index_comment";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "HkOvertimeDetail{" +
                ", id=" + id +
                ", createBy=" + createBy +
                ", createTime=" + createTime +
                ", updateBy=" + updateBy +
                ", updateTime=" + updateTime +
                ", assessmentStatus=" + assessmentStatus +
                ", overStartTime=" + overStartTime +
                ", overEndTime=" + overEndTime +
                ", totalHours=" + totalHours +
                ", cause=" + cause +
                ", approvalUserId=" + approvalUserId +
                ", approvalName=" + approvalName +
                ", timeType=" + flowType +
                ", processInstanceId=" + processInstanceId +
                ", indexComment=" + indexComment +
                "}";
    }
}
